package 字符串的相关api;

/**
 * @author aodre , QQ : 480029069
 * @date 2022/12/26 10:05
 */
public class leetcode1759同构字符串数目 {

    /*
      遇见 对 结果去 mod 的题
      首先结果 直接使用 long
      最后 再 转换一下 否则 容易 出现 int 溢出的问题
      这是一些细节的 问题
     */

    public static int solution(String s){
        long ans = 0;
        int mod = (int)1e9 + 7;
        char[] chars = s.toCharArray();
        int count = 1;
        for(int i = 0;i < s.length() - 1;i++){
            if(chars[i + 1] != chars[i]){
                ans += (long)(count + 1) * count / 2 % mod;

                count = 1;
            }
            else{
                count++;
            }
        }

        return (int)(ans %mod + (long)(count + 1) * count / 2 % mod) ;
    }

    public static void main(String[] args) {
        String s = "abbcccaa";
        System.out.println(solution(s));
    }
}
